package com.meida.module.bus.client.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.meida.common.mybatis.annotation.TableAlias;
import com.meida.common.mybatis.base.entity.AbstractEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * 100材料计划表
 *
 * @author flyme
 * @date 2020-10-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("bus_material_plan100")
@TableAlias("bmplan")
@ApiModel(value = "BusMaterialPlan100对象", description = "100材料计划表")
public class BusMaterialPlan100 extends AbstractEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "materialPlanId", type = IdType.ID_WORKER)
    private Long materialPlanId;

    @ApiModelProperty(value = "项目ID")
    private Long projectId;

    @ApiModelProperty(value = "版本ID")
    private Long versionId;

    @ApiModelProperty(value = "材料ID")
    private Long materialId;

    @ApiModelProperty(value = "品牌名称")
    private String brandName;

    @ApiModelProperty(value = "专业代码")
    private String majorCode;

    @ApiModelProperty(value = "专业名称")
    private String majorName;

    @ApiModelProperty(value = "工程包代码")
    private String packageNo;

    @ApiModelProperty(value = "工程包名称")
    private String packageName;

    @ApiModelProperty(value = "科目名称")
    private String subjectName;

    @ApiModelProperty(value = "材料WBS代码")
    private String materialWbsCode;

    @ApiModelProperty(value = "物料代码")
    private String materialCode;

    @ApiModelProperty(value = "材料项目描述")
    private String materialDesc;

    @ApiModelProperty(value = "层级号")
    private String levelNo;

    @ApiModelProperty(value = "对外合同描述")
    private String contractDesc;

    @ApiModelProperty(value = "区域")
    private String materialArea;

    @ApiModelProperty(value = "用途")
    private String materialUse;

    @ApiModelProperty(value = "规格")
    private String materiaSpecs;

    @ApiModelProperty(value = "技术参数")
    private String technicalData;

    @ApiModelProperty(value = "材料名称")
    private String materialName;

    @ApiModelProperty(value = "100成本工程量")
    private BigDecimal costQuantity100;

    @ApiModelProperty(value = "200成本工程量")
    private BigDecimal costQuantity200;

    @ApiModelProperty(value = "计量单位")
    private String measurementUnit;

    @ApiModelProperty(value = "损耗")
    private BigDecimal loss;
    @ApiModelProperty(value = "显示量100")
    private BigDecimal costdisplayQuantity100;
    @ApiModelProperty(value = "显示量100")
    private BigDecimal displayplanPurchaseCount;

    @ApiModelProperty(value = "有合同主材价")
    private BigDecimal contractMainPrice1;

    @ApiModelProperty(value = "拟合同主材价")
    private BigDecimal contractMainPrice2;

    @ApiModelProperty(value = "合同主材价")
    private BigDecimal contractMainPrice3;

    @ApiModelProperty(value = "有合同其他单价")
    private BigDecimal contractOtherPrice1;

    @ApiModelProperty(value = "拟合同其他单价")
    private BigDecimal contractOtherPrice2;

    @ApiModelProperty(value = "合同其他单价")
    private BigDecimal contractOtherPrice3;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "采购计划数量")
    private BigDecimal planPurchaseCount;
    @ApiModelProperty(value = "剩余采购量")
    private BigDecimal endPurchaseCount;
    @ApiModelProperty(value = "在途采购量")
    private BigDecimal ztPurchaseCount;
    @ApiModelProperty(value = "到货量")
    private BigDecimal dhPurchaseCount;
    @ApiModelProperty(value = "本次采购量")
    private BigDecimal purchaseCount;
    @ApiModelProperty(value = "到货时间")
    private String receivedDate;
    @ApiModelProperty(value = "供应商id")
    private Long vendorId;
    @ApiModelProperty(value = "供应商name")
    private String vendorName;
    @ApiModelProperty(value = "单据类型")
    private String caseType;
    @ApiModelProperty(value = "是否有开口订单 0否 1是")
    private String  orderflg;
    @ApiModelProperty(value = "是否转存100 0 否 1是")
    private Integer status;
    @ApiModelProperty(value = "材料审批状态")
    private Integer applayStatus;//0未审核 1审批中 2审批完成
    @ApiModelProperty(value = "计划类型 1修改 2追加")
    private Integer planType;
    @ApiModelProperty(value = "0临时版本 1正式版本")
    private Integer versionStatus;
    private  Long parentId;
    @ApiModelProperty(value = "指令号")
    private String instructNumber;
    @ApiModelProperty(value = "材料申请审批状态")
    private Integer purseApplayStatus;




}
